This page last changed on Oct 14, 2009 by michael.

Google App Engine

Apache Wink can be run using Google App Engine as the core functionality is fully compatible. However, due to some of the App Engine limitations, a number of the additional functions may not work correctly.

Known Limitations

JAXB - Google App Engine doesn't support JAXB. Therefore, the built-in JAXB, Atom and JSON providers will not work.

Logging

Google uses java.util.logging, also referred to as the JDK 1.4 logging. Apache Wink uses slf4j. In order to enable Wink's logging function, replace the slf4j-simple-<version>.jar with the slf4j-jdk14-<version>.jar.

In order to view all of Wink's messages place the following property in the logging.properties file:

org.apache.wink.level=ALL

Everything that the servlet writes to the standard output stream (System.out) and standard error stream (System.err) is captured by the App Engine and then recorded in the application logs.

Useful Tip
In order to gain an in depth understanding refer to Logging.
When running with Spring, make sure that you have jcl-over-slf4j-<version>.jar in the classpath. This jar is needed, since Spring uses commons-logging.

Additional Issues

The following section contains "additional Issues" that maybe experience while trying to run custom developer code in the Google App Engine. It is advantageous to read the relevant documentation as it provides important information, that will save valuable developer time that is required to ascertain why the application behaves differently in comparison to a regular servlet container.

Context Path

Usually the URI in a servlet container looks like this:

requestURI = contextPath + servletPath + pathInfo
while in most servlet containers context path is a war name (or it can be configured), in App Engine it's just empty.
So if your servlet is mapped to "rest", access
http://host:port/rest
.

References

Document generated by Confluence on Nov 11, 2009 06:58